Подписаться
Опубликовано

Нашел очень полезную штуку - Preventing the blur

Автор
  • Имя
    Счастливый тимлид | ♥ Frontend
    Telegram

Нашел очень полезную штуку - Preventing the blur

Мне иногда нужно, чтобы по клику в пределах области поля ввода фокус с него не пропадал, но действия выполнялись. Полезно например при кликах на подсказки, либо при выборе даты во всплывающем календарике.

Чтобы решить эту проблему пришлось глубоко покопать в событиях мыши. Как оказалось файрит onbur совсем не click, а mousedown. И это оказалось очень удобным, так обычным реактовским onMouseDown={e => e.preventDefault()} проблема решается. А в onClick ничего добавлять не нужно.

Если мы имеем поле ввода и кнопку, а фокус сейчас в поле ввода, то при клике на кнопку порядок вызова событий будет таким::
button mousedown is fired. input blur is fired. button mouseup is fired. button click is fired.
Счастливый тимлид | ♥ Frontend
2204 подписчика
692 поста

Закрепленные

Из подборки #frontend

Опубликовано

Телеграмовский сосун (или какун, как правильно?)

Телеграмовский сосун суммирует мой лонгрид – стоит ли публиковать полную версию?
Опубликовано

Итоги

Итоги года блога тимлида: количество подписчиков, менторство, сообщество ИТ‑блогеров, планы на 2025
Опубликовано

Поделитесь вашими любимыми мемами уходящего года

Поделитесь любимыми мемами уходящего года

Свежие посты

Опубликовано

Телеграмовский сосун (или какун, как правильно?)

Телеграмовский сосун суммирует мой лонгрид – стоит ли публиковать полную версию?